﻿<!DOCTYPE HTML>
<html lang="zh">
<head>
<title>获取方法 - Syntax &amp; Usage | AutoHotkey v2</title>
<meta name="description" content="The 获取方法 function retrieves the implementation function of a method." />
<meta name="ahk:equiv-v1" content="AutoHotkey.htm" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="../static/theme.css" rel="stylesheet" type="text/css" />
<script src="../static/content.js" type="text/javascript"></script>
<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script>
</head>
<body>

 <h1>获取方法</h1>

 <p>检索方法的实现函数.</p>

 <pre class="Syntax">Method := <span class="func">获取方法</span>(Value, Name)</pre>
<h2 id="Parameters">参数</h2>
<dl>
  <dt>Value</dt>
  <dd>
    <p>类型: <a href="../objects/Any.htm">Any</a></p>
    <p>除了 组件对象 之外的任何类型的任何值.</p>
  </dd>
  <dt>Name</dt>
  <dd>
    <p>类型: <a href="../Concepts.htm#strings">字符串</a></p>
    <p>要检索的方法的名称.</p>
  </dd>
</dl>

 <h2 id="Return_Value">返回值</h2>
<p>类型: <a href="../objects/Functor.htm">函数对象</a></p>
<p>函数返回包含方法实现的函数对象.</p>

 <h2 id="Errors">错误</h2>
<p>如果没有找到该方法, 则抛出异常.</p>

 <h2 id="Remarks">备注</h2>
<p>方法可以是预先定义的(内置的), 或是在类定义中定义的, 也可以通过调用 <a href="../objects/Object.htm#DefineMethod">DefineMethod</a> 来定义. 搜索中包括继承的方法. 通过 __Call <a href="../Objects.htm#Meta_Functions">元-函数</a>实现的方法无法检测, 甚至可能没有相应的函数对象.</p>
<p>调用函数对象时, 必须为通常隐藏的 <em>this</em> 参数提供一个值. 例如, <code>%Method%(Value)</code>.</p>

 <h2 id="Related">相关</h2>
<p><a href="../Objects.htm">Objects</a>, <a href="HasMethod.htm">包含方法</a>, <a href="HasBase.htm">是否基于</a>, <a href="HasProp.htm">包含属性</a></p>

 <h2 id="Examples">示例</h2>
<div class="ex" id="ExBasic">
<p><a href="#ExBasic">#1</a></p>
<pre>
method := 获取方法({}, "GetMethod")  <em>; 这也是一种方法.</em>
信息框 method.MaxParams  <em>; 接受 2 个参数, 包括 'this'.</em>
信息框 method = 检索函数("GetMethod")  <em>; 在这种情况下, 实际上是同一个对象.</em>
</pre>
</div>

 </body>
</html>